#pragma once
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
typedef int SLTDatatype;
typedef struct STNode {
	SLTDatatype val;
	struct STNode* next;
}STNode;

STNode* STBuyNode(SLTDatatype val);

STNode* STPrint(STNode* phead);

void STPushBack(STNode** pphead, SLTDatatype val);
void STPushFront(STNode** pphead, SLTDatatype val);

void STPopBack(STNode** pphead);
void STPopFront(STNode** pphead);

STNode* STFind(STNode* phead,SLTDatatype x);

void STInsert(STNode** pphead, STNode* pos,SLTDatatype x);
void STInsertAfter(STNode* pos, SLTDatatype x);

void STErase(STNode** pphead, STNode* pos);
void STEraseAfter(STNode** pphead,STNode* pos);

void STDestroy(STNode** pphead);
